[INFO] fetching crate gm-sm2 0.10.0...
[INFO] checking gm-sm2-0.10.0 against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] extracting crate gm-sm2 0.10.0 into /workspace/builds/worker-1-tc1/source
[INFO] validating manifest of crates.io crate gm-sm2 0.10.0 on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate gm-sm2 0.10.0
[INFO] finished tweaking crates.io crate gm-sm2 0.10.0
[INFO] tweaked toml for crates.io crate gm-sm2 0.10.0 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded gm-sm3 v0.10.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c53464330bbe2483ec3653ff4fe7f9b6570103afda4b60e84e68840b2fae858f
[INFO] running `Command { std: "docker" "start" "-a" "c53464330bbe2483ec3653ff4fe7f9b6570103afda4b60e84e68840b2fae858f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c53464330bbe2483ec3653ff4fe7f9b6570103afda4b60e84e68840b2fae858f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c53464330bbe2483ec3653ff4fe7f9b6570103afda4b60e84e68840b2fae858f", kill_on_drop: false }`
[INFO] [stdout] c53464330bbe2483ec3653ff4fe7f9b6570103afda4b60e84e68840b2fae858f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 769ade42724ac287de237633da8ea06b5e359db300775ff57e6ffc4cf1dcbe3d
[INFO] running `Command { std: "docker" "start" "-a" "769ade42724ac287de237633da8ea06b5e359db300775ff57e6ffc4cf1dcbe3d", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.153
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]     Checking half v2.4.0
[INFO] [stderr]    Compiling num-bigint-dig v0.8.4
[INFO] [stderr]     Checking regex-syntax v0.8.2
[INFO] [stderr]     Checking os_str_bytes v6.6.1
[INFO] [stderr]     Checking ciborium-io v0.2.2
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]    Compiling syn v2.0.52
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking plotters-backend v0.3.5
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking textwrap v0.16.1
[INFO] [stderr]     Checking cast v0.3.0
[INFO] [stderr]     Checking rayon v1.9.0
[INFO] [stderr]     Checking gm-sm3 v0.10.0
[INFO] [stderr]     Checking anes v0.1.6
[INFO] [stderr]     Checking oorandom v11.1.3
[INFO] [stderr]    Compiling hex-literal v0.3.4
[INFO] [stderr]     Checking clap_lex v0.2.4
[INFO] [stderr]     Checking plotters-svg v0.3.5
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking num-iter v0.1.44
[INFO] [stderr]     Checking plotters v0.3.5
[INFO] [stderr]     Checking clap v3.2.25
[INFO] [stderr]     Checking getrandom v0.2.12
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking regex-automata v0.4.5
[INFO] [stderr]     Checking criterion-plot v0.5.0
[INFO] [stderr]     Checking gm-sm2 v0.10.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: function `pre_vec_gen` is never used
[INFO] [stdout]    --> src/p256_ecc.rs:467:4
[INFO] [stdout]     |
[INFO] [stdout] 467 | fn pre_vec_gen(n: u32) -> [u32; 8] {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pre_vec_gen2` is never used
[INFO] [stdout]    --> src/p256_ecc.rs:477:4
[INFO] [stdout]     |
[INFO] [stdout] 477 | fn pre_vec_gen2(n: u32) -> [u32; 8] {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking regex v1.10.3
[INFO] [stderr]    Compiling serde_derive v1.0.197
[INFO] [stderr]     Checking serde v1.0.197
[INFO] [stderr]     Checking serde_json v1.0.114
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking criterion v0.4.0
[INFO] [stdout] warning: unused import: `BenchmarkGroup`
[INFO] [stdout]  --> benches/sm2.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use criterion::{BenchmarkGroup, Criterion, criterion_group, criterion_main};
[INFO] [stdout]   |                 ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ModInverse`
[INFO] [stdout]  --> benches/sm2.rs:3:18
[INFO] [stdout]   |
[INFO] [stdout] 3 | use num_bigint::{ModInverse, ToBigInt};
[INFO] [stdout]   |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gm_sm2::FeOperation`
[INFO] [stdout]  --> benches/sm2.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use gm_sm2::FeOperation;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Point`
[INFO] [stdout]  --> benches/sm2.rs:9:38
[INFO] [stdout]   |
[INFO] [stdout] 9 | use gm_sm2::p256_ecc::{P256C_PARAMS, Point};
[INFO] [stdout]   |                                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Sign` is defined multiple times
[INFO] [stdout]   --> src/montgomery.rs:81:39
[INFO] [stdout]    |
[INFO] [stdout] 80 |     use core::num::flt2dec::Sign;
[INFO] [stdout]    |         ------------------------ previous import of the type `Sign` here
[INFO] [stdout] 81 |     use num_bigint::{BigInt, BigUint, Sign, ToBigInt};
[INFO] [stdout]    |                                       ^^^^ `Sign` reimported here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Sign` must be defined only once in the type namespace of this module
[INFO] [stdout] help: you can use `as` to change the binding name of the import
[INFO] [stdout]    |
[INFO] [stdout] 81 |     use num_bigint::{BigInt, BigUint, Sign as OtherSign, ToBigInt};
[INFO] [stdout]    |                                       ~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `criterion::measurement::Measurement`
[INFO] [stdout]  --> benches/sm2.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use criterion::measurement::Measurement;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bench_mod_mul_mont` is never used
[INFO] [stdout]    --> benches/sm2.rs:106:4
[INFO] [stdout]     |
[INFO] [stdout] 106 | fn bench_mod_mul_mont(c: &mut Criterion) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bench_mod_mul_mont_2` is never used
[INFO] [stdout]    --> benches/sm2.rs:124:4
[INFO] [stdout]     |
[INFO] [stdout] 124 | fn bench_mod_mul_mont_2(c: &mut Criterion) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bench_mod_mul_bigint_2` is never used
[INFO] [stdout]    --> benches/sm2.rs:142:4
[INFO] [stdout]     |
[INFO] [stdout] 142 | fn bench_mod_mul_bigint_2(c: &mut Criterion) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 8 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `sm2` in the crate root
[INFO] [stdout]   --> src/montgomery.rs:85:16
[INFO] [stdout]    |
[INFO] [stdout] 85 |     use crate::sm2::montgomery::{cus_mod, montgomery_mod, montgomery_mul_mod};
[INFO] [stdout]    |                ^^^ could not find `sm2` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `sm2` in the crate root
[INFO] [stdout]    --> src/operation.rs:263:16
[INFO] [stdout]     |
[INFO] [stdout] 263 |     use crate::sm2::p256_ecc::P256C_PARAMS;
[INFO] [stdout]     |                ^^^ could not find `sm2` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `sm2` in the crate root
[INFO] [stdout]    --> src/operation.rs:264:16
[INFO] [stdout]     |
[INFO] [stdout] 264 |     use crate::sm2::p256_pre_table::PRE_TABLE_1;
[INFO] [stdout]     |                ^^^ could not find `sm2` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `sm2` in the crate root
[INFO] [stdout]    --> src/p256_ecc.rs:494:16
[INFO] [stdout]     |
[INFO] [stdout] 494 |     use crate::sm2::p256_ecc::{P256C_PARAMS, Point, pre_vec_gen, pre_vec_gen2, scalar_mul};
[INFO] [stdout]     |                ^^^ could not find `sm2` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `sm2` in the crate root
[INFO] [stdout]    --> src/p256_ecc.rs:495:16
[INFO] [stdout]     |
[INFO] [stdout] 495 |     use crate::sm2::p256_field::FieldElement;
[INFO] [stdout]     |                ^^^ could not find `sm2` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `sm2` in the crate root
[INFO] [stdout]    --> src/p256_field.rs:240:16
[INFO] [stdout]     |
[INFO] [stdout] 240 |     use crate::sm2::p256_field::FieldElement;
[INFO] [stdout]     |                ^^^ could not find `sm2` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::sm2`
[INFO] [stdout]    --> src/operation.rs:262:16
[INFO] [stdout]     |
[INFO] [stdout] 262 |     use crate::sm2::FeOperation;
[INFO] [stdout]     |                ^^^ could not find `sm2` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Sign`
[INFO] [stdout]   --> src/montgomery.rs:81:39
[INFO] [stdout]    |
[INFO] [stdout] 81 |     use num_bigint::{BigInt, BigUint, Sign, ToBigInt};
[INFO] [stdout]    |                                       ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'flt2dec': internal routines only exposed for testing
[INFO] [stdout]   --> src/montgomery.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |     use core::num::flt2dec::Sign;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: add `#![feature(flt2dec)]` to the crate attributes to enable
[INFO] [stdout]    = note: this compiler was built on 2024-02-18; consider upgrading it if it is out of date
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'flt2dec': internal routines only exposed for testing
[INFO] [stdout]   --> src/montgomery.rs:98:13
[INFO] [stdout]    |
[INFO] [stdout] 98 |             Sign::Plus,
[INFO] [stdout]    |             ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: add `#![feature(flt2dec)]` to the crate attributes to enable
[INFO] [stdout]    = note: this compiler was built on 2024-02-18; consider upgrading it if it is out of date
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'flt2dec': internal routines only exposed for testing
[INFO] [stdout]    --> src/montgomery.rs:112:13
[INFO] [stdout]     |
[INFO] [stdout] 112 |             Sign::Plus,
[INFO] [stdout]     |             ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: add `#![feature(flt2dec)]` to the crate attributes to enable
[INFO] [stdout]     = note: this compiler was built on 2024-02-18; consider upgrading it if it is out of date
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `Plus` found for enum `core::num::flt2dec::Sign` in the current scope
[INFO] [stdout]   --> src/montgomery.rs:98:19
[INFO] [stdout]    |
[INFO] [stdout] 98 |             Sign::Plus,
[INFO] [stdout]    |                   ^^^^ variant or associated item not found in `Sign`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `Plus` found for enum `core::num::flt2dec::Sign` in the current scope
[INFO] [stdout]    --> src/montgomery.rs:112:19
[INFO] [stdout]     |
[INFO] [stdout] 112 |             Sign::Plus,
[INFO] [stdout]     |                   ^^^^ variant or associated item not found in `Sign`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `mod_add` found for struct `BigUint` in the current scope
[INFO] [stdout]    --> src/operation.rs:277:22
[INFO] [stdout]     |
[INFO] [stdout] 277 |         let ret1 = x.mod_add(&y, &modulus.to_biguint());
[INFO] [stdout]     |                      ^^^^^^^ method not found in `BigUint`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:32:8
[INFO] [stdout]     |
[INFO] [stdout] 32  |     fn mod_add(&self, other: &Self, modulus: &Self) -> Self;
[INFO] [stdout]     |        ------- the method is available for `BigUint` here
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]     |
[INFO] [stdout] 257 +     use crate::FeOperation;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `mod_sub` found for struct `BigUint` in the current scope
[INFO] [stdout]    --> src/operation.rs:294:22
[INFO] [stdout]     |
[INFO] [stdout] 294 |         let ret1 = x.mod_sub(&y, &modulus.to_biguint());
[INFO] [stdout]     |                      ^^^^^^^ method not found in `BigUint`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:38:8
[INFO] [stdout]     |
[INFO] [stdout] 38  |     fn mod_sub(&self, other: &Self, modulus: &Self) -> Self;
[INFO] [stdout]     |        ------- the method is available for `BigUint` here
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]     |
[INFO] [stdout] 257 +     use crate::FeOperation;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `mod_mul` found for struct `BigUint` in the current scope
[INFO] [stdout]    --> src/operation.rs:311:22
[INFO] [stdout]     |
[INFO] [stdout] 311 |         let ret1 = x.mod_mul(&y, &modulus.to_biguint());
[INFO] [stdout]     |                      ^^^^^^^ method not found in `BigUint`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:44:8
[INFO] [stdout]     |
[INFO] [stdout] 44  |     fn mod_mul(&self, other: &Self, modulus: &Self) -> Self;
[INFO] [stdout]     |        ------- the method is available for `BigUint` here
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]     |
[INFO] [stdout] 257 +     use crate::FeOperation;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `inv` found for struct `BigUint` in the current scope
[INFO] [stdout]    --> src/operation.rs:327:22
[INFO] [stdout]     |
[INFO] [stdout] 327 |         let ret1 = x.inv(&modulus.to_biguint());
[INFO] [stdout]     |                      ^^^ method not found in `BigUint`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:47:8
[INFO] [stdout]     |
[INFO] [stdout] 47  |     fn inv(&self, modulus: &Self) -> Self;
[INFO] [stdout]     |        --- the method is available for `BigUint` here
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]     |
[INFO] [stdout] 257 +     use crate::FeOperation;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 17 previous errors; 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0252, E0432, E0433, E0599, E0658.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0252`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `gm-sm2` (lib test) due to 18 previous errors; 1 warning emitted
[INFO] running `Command { std: "docker" "inspect" "769ade42724ac287de237633da8ea06b5e359db300775ff57e6ffc4cf1dcbe3d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "769ade42724ac287de237633da8ea06b5e359db300775ff57e6ffc4cf1dcbe3d", kill_on_drop: false }`
[INFO] [stdout] 769ade42724ac287de237633da8ea06b5e359db300775ff57e6ffc4cf1dcbe3d
[INFO] checking gm-sm2-0.10.0 against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] extracting crate gm-sm2 0.10.0 into /workspace/builds/worker-1-tc2/source
[INFO] validating manifest of crates.io crate gm-sm2 0.10.0 on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate gm-sm2 0.10.0
[INFO] finished tweaking crates.io crate gm-sm2 0.10.0
[INFO] tweaked toml for crates.io crate gm-sm2 0.10.0 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2211ff1ce5d54fca663f36efd7c9db717b6ba6d15144dcd8f36f696b21233c5b
[INFO] running `Command { std: "docker" "start" "-a" "2211ff1ce5d54fca663f36efd7c9db717b6ba6d15144dcd8f36f696b21233c5b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2211ff1ce5d54fca663f36efd7c9db717b6ba6d15144dcd8f36f696b21233c5b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2211ff1ce5d54fca663f36efd7c9db717b6ba6d15144dcd8f36f696b21233c5b", kill_on_drop: false }`
[INFO] [stdout] 2211ff1ce5d54fca663f36efd7c9db717b6ba6d15144dcd8f36f696b21233c5b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0840002e2849dc4b4cb7a8a227c3c143514de3497be792526d57222d623e412d
[INFO] running `Command { std: "docker" "start" "-a" "0840002e2849dc4b4cb7a8a227c3c143514de3497be792526d57222d623e412d", kill_on_drop: false }`
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling num-bigint-dig v0.8.4
[INFO] [stderr]     Checking os_str_bytes v6.6.1
[INFO] [stderr]    Compiling libc v0.2.153
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]     Checking half v2.4.0
[INFO] [stderr]     Checking ciborium-io v0.2.2
[INFO] [stderr]     Checking plotters-backend v0.3.5
[INFO] [stderr]     Checking regex-syntax v0.8.2
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]    Compiling syn v2.0.52
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking cast v0.3.0
[INFO] [stderr]     Checking textwrap v0.16.1
[INFO] [stderr]     Checking rayon v1.9.0
[INFO] [stderr]     Checking anes v0.1.6
[INFO] [stderr]     Checking gm-sm3 v0.10.0
[INFO] [stderr]     Checking oorandom v11.1.3
[INFO] [stderr]    Compiling hex-literal v0.3.4
[INFO] [stderr]     Checking clap_lex v0.2.4
[INFO] [stderr]     Checking plotters-svg v0.3.5
[INFO] [stderr]     Checking plotters v0.3.5
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking num-iter v0.1.44
[INFO] [stderr]     Checking getrandom v0.2.12
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking clap v3.2.25
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking regex-automata v0.4.5
[INFO] [stderr]     Checking criterion-plot v0.5.0
[INFO] [stderr]     Checking gm-sm2 v0.10.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/key.rs:81:46
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let s = &BigUint::from_bytes_be(&sig[32..]);
[INFO] [stdout]    |                                              ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/key.rs:177:36
[INFO] [stdout]     |
[INFO] [stdout] 177 |         let c1_bytes = &ciphertext[0..c1_end_index];
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/key.rs:178:36
[INFO] [stdout]     |
[INFO] [stdout] 178 |         let c2_bytes = &ciphertext[c1_end_index..(ciphertext.len() - 32)];
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/key.rs:179:36
[INFO] [stdout]     |
[INFO] [stdout] 179 |         let c3_bytes = &ciphertext[(ciphertext.len() - 32)..];
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/operation.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 |         for i in 0..8 {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/operation.rs:33:15
[INFO] [stdout]    |
[INFO] [stdout] 33 |         num_v[32 - v.len()..32].copy_from_slice(&v[..]);
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/operation.rs:36:18
[INFO] [stdout]    |
[INFO] [stdout] 36 |         for i in 0..8 {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/p256_ecc.rs:212:56
[INFO] [stdout]     |
[INFO] [stdout] 212 |                 let x = FieldElement::from_bytes_be(&b[1..])?;
[INFO] [stdout]     |                                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/p256_ecc.rs:232:56
[INFO] [stdout]     |
[INFO] [stdout] 232 |                 let x = FieldElement::from_bytes_be(&b[1..33])?;
[INFO] [stdout]     |                                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/p256_ecc.rs:233:56
[INFO] [stdout]     |
[INFO] [stdout] 233 |                 let y = FieldElement::from_bytes_be(&b[33..65])?;
[INFO] [stdout]     |                                                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/p256_ecc.rs:395:14
[INFO] [stdout]     |
[INFO] [stdout] 395 |     for _ in 0..32 {
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/p256_ecc.rs:401:14
[INFO] [stdout]     |
[INFO] [stdout] 401 |     for i in 1..8 {
[INFO] [stdout]     |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/p256_ecc.rs:432:7
[INFO] [stdout]     |
[INFO] [stdout] 432 |     n[1..9].clone_from_slice(&k[..8]);
[INFO] [stdout]     |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/p256_field.rs:74:18
[INFO] [stdout]    |
[INFO] [stdout] 74 |         for i in 0..8 {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/p256_field.rs:87:18
[INFO] [stdout]    |
[INFO] [stdout] 87 |         for i in 0..8 {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/p256_field.rs:103:15
[INFO] [stdout]     |
[INFO] [stdout] 103 |         num_v[32 - v.len()..32].copy_from_slice(&v[..]);
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/util.rs:63:15
[INFO] [stdout]    |
[INFO] [stdout] 63 |     for _i in 1..bound {
[INFO] [stdout]    |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/util.rs:81:37
[INFO] [stdout]    |
[INFO] [stdout] 81 |         h_a.extend_from_slice(&last[0..(klen % 32)]);
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pre_vec_gen` is never used
[INFO] [stdout]    --> src/p256_ecc.rs:467:4
[INFO] [stdout]     |
[INFO] [stdout] 467 | fn pre_vec_gen(n: u32) -> [u32; 8] {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pre_vec_gen2` is never used
[INFO] [stdout]    --> src/p256_ecc.rs:477:4
[INFO] [stdout]     |
[INFO] [stdout] 477 | fn pre_vec_gen2(n: u32) -> [u32; 8] {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 20 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking regex v1.10.3
[INFO] [stderr]    Compiling serde_derive v1.0.197
[INFO] [stderr]     Checking serde v1.0.197
[INFO] [stderr]     Checking serde_json v1.0.114
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking criterion v0.4.0
[INFO] [stdout] warning: unused import: `BenchmarkGroup`
[INFO] [stdout]  --> benches/sm2.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use criterion::{BenchmarkGroup, Criterion, criterion_group, criterion_main};
[INFO] [stdout]   |                 ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ModInverse`
[INFO] [stdout]  --> benches/sm2.rs:3:18
[INFO] [stdout]   |
[INFO] [stdout] 3 | use num_bigint::{ModInverse, ToBigInt};
[INFO] [stdout]   |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gm_sm2::FeOperation`
[INFO] [stdout]  --> benches/sm2.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use gm_sm2::FeOperation;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Point`
[INFO] [stdout]  --> benches/sm2.rs:9:38
[INFO] [stdout]   |
[INFO] [stdout] 9 | use gm_sm2::p256_ecc::{P256C_PARAMS, Point};
[INFO] [stdout]   |                                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> benches/sm2.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let n: u32 = rng.gen_range(10..256);
[INFO] [stdout]    |                                ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> benches/sm2.rs:59:33
[INFO] [stdout]    |
[INFO] [stdout] 59 |     let n1: u32 = rng.gen_range(10..100);
[INFO] [stdout]    |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> benches/sm2.rs:61:33
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let n2: u32 = rng.gen_range(100..256);
[INFO] [stdout]    |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Sign` is defined multiple times
[INFO] [stdout]   --> src/montgomery.rs:81:39
[INFO] [stdout]    |
[INFO] [stdout] 80 |     use core::num::flt2dec::Sign;
[INFO] [stdout]    |         ------------------------ previous import of the type `Sign` here
[INFO] [stdout] 81 |     use num_bigint::{BigInt, BigUint, Sign, ToBigInt};
[INFO] [stdout]    |                                       ^^^^ `Sign` reimported here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Sign` must be defined only once in the type namespace of this module
[INFO] [stdout] help: you can use `as` to change the binding name of the import
[INFO] [stdout]    |
[INFO] [stdout] 81 |     use num_bigint::{BigInt, BigUint, Sign as OtherSign, ToBigInt};
[INFO] [stdout]    |                                       ~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `criterion::measurement::Measurement`
[INFO] [stdout]  --> benches/sm2.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use criterion::measurement::Measurement;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bench_mod_mul_mont` is never used
[INFO] [stdout]    --> benches/sm2.rs:106:4
[INFO] [stdout]     |
[INFO] [stdout] 106 | fn bench_mod_mul_mont(c: &mut Criterion) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bench_mod_mul_mont_2` is never used
[INFO] [stdout]    --> benches/sm2.rs:124:4
[INFO] [stdout]     |
[INFO] [stdout] 124 | fn bench_mod_mul_mont_2(c: &mut Criterion) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bench_mod_mul_bigint_2` is never used
[INFO] [stdout]    --> benches/sm2.rs:142:4
[INFO] [stdout]     |
[INFO] [stdout] 142 | fn bench_mod_mul_bigint_2(c: &mut Criterion) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 11 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `sm2` in the crate root
[INFO] [stdout]   --> src/montgomery.rs:85:16
[INFO] [stdout]    |
[INFO] [stdout] 85 |     use crate::sm2::montgomery::{cus_mod, montgomery_mod, montgomery_mul_mod};
[INFO] [stdout]    |                ^^^ could not find `sm2` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `sm2` in the crate root
[INFO] [stdout]    --> src/operation.rs:263:16
[INFO] [stdout]     |
[INFO] [stdout] 263 |     use crate::sm2::p256_ecc::P256C_PARAMS;
[INFO] [stdout]     |                ^^^ could not find `sm2` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `sm2` in the crate root
[INFO] [stdout]    --> src/operation.rs:264:16
[INFO] [stdout]     |
[INFO] [stdout] 264 |     use crate::sm2::p256_pre_table::PRE_TABLE_1;
[INFO] [stdout]     |                ^^^ could not find `sm2` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `sm2` in the crate root
[INFO] [stdout]    --> src/p256_ecc.rs:494:16
[INFO] [stdout]     |
[INFO] [stdout] 494 |     use crate::sm2::p256_ecc::{P256C_PARAMS, Point, pre_vec_gen, pre_vec_gen2, scalar_mul};
[INFO] [stdout]     |                ^^^ could not find `sm2` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `sm2` in the crate root
[INFO] [stdout]    --> src/p256_ecc.rs:495:16
[INFO] [stdout]     |
[INFO] [stdout] 495 |     use crate::sm2::p256_field::FieldElement;
[INFO] [stdout]     |                ^^^ could not find `sm2` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `sm2` in the crate root
[INFO] [stdout]    --> src/p256_field.rs:240:16
[INFO] [stdout]     |
[INFO] [stdout] 240 |     use crate::sm2::p256_field::FieldElement;
[INFO] [stdout]     |                ^^^ could not find `sm2` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::sm2`
[INFO] [stdout]    --> src/operation.rs:262:16
[INFO] [stdout]     |
[INFO] [stdout] 262 |     use crate::sm2::FeOperation;
[INFO] [stdout]     |                ^^^ could not find `sm2` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/key.rs:81:46
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let s = &BigUint::from_bytes_be(&sig[32..]);
[INFO] [stdout]    |                                              ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/key.rs:177:36
[INFO] [stdout]     |
[INFO] [stdout] 177 |         let c1_bytes = &ciphertext[0..c1_end_index];
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/key.rs:178:36
[INFO] [stdout]     |
[INFO] [stdout] 178 |         let c2_bytes = &ciphertext[c1_end_index..(ciphertext.len() - 32)];
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/key.rs:179:36
[INFO] [stdout]     |
[INFO] [stdout] 179 |         let c3_bytes = &ciphertext[(ciphertext.len() - 32)..];
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Sign`
[INFO] [stdout]   --> src/montgomery.rs:81:39
[INFO] [stdout]    |
[INFO] [stdout] 81 |     use num_bigint::{BigInt, BigUint, Sign, ToBigInt};
[INFO] [stdout]    |                                       ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/operation.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 |         for i in 0..8 {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/operation.rs:33:15
[INFO] [stdout]    |
[INFO] [stdout] 33 |         num_v[32 - v.len()..32].copy_from_slice(&v[..]);
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/operation.rs:36:18
[INFO] [stdout]    |
[INFO] [stdout] 36 |         for i in 0..8 {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/operation.rs:269:36
[INFO] [stdout]     |
[INFO] [stdout] 269 |         let n: u32 = rng.gen_range(10..256);
[INFO] [stdout]     |                                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/operation.rs:286:36
[INFO] [stdout]     |
[INFO] [stdout] 286 |         let n: u32 = rng.gen_range(10..256);
[INFO] [stdout]     |                                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/operation.rs:303:36
[INFO] [stdout]     |
[INFO] [stdout] 303 |         let n: u32 = rng.gen_range(10..256);
[INFO] [stdout]     |                                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/operation.rs:320:36
[INFO] [stdout]     |
[INFO] [stdout] 320 |         let n: u32 = rng.gen_range(10..256);
[INFO] [stdout]     |                                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/p256_ecc.rs:212:56
[INFO] [stdout]     |
[INFO] [stdout] 212 |                 let x = FieldElement::from_bytes_be(&b[1..])?;
[INFO] [stdout]     |                                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/p256_ecc.rs:232:56
[INFO] [stdout]     |
[INFO] [stdout] 232 |                 let x = FieldElement::from_bytes_be(&b[1..33])?;
[INFO] [stdout]     |                                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/p256_ecc.rs:233:56
[INFO] [stdout]     |
[INFO] [stdout] 233 |                 let y = FieldElement::from_bytes_be(&b[33..65])?;
[INFO] [stdout]     |                                                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/p256_ecc.rs:395:14
[INFO] [stdout]     |
[INFO] [stdout] 395 |     for _ in 0..32 {
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/p256_ecc.rs:401:14
[INFO] [stdout]     |
[INFO] [stdout] 401 |     for i in 1..8 {
[INFO] [stdout]     |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/p256_ecc.rs:432:7
[INFO] [stdout]     |
[INFO] [stdout] 432 |     n[1..9].clone_from_slice(&k[..8]);
[INFO] [stdout]     |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/p256_ecc.rs:500:18
[INFO] [stdout]     |
[INFO] [stdout] 500 |         for i in 0..256 {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/p256_ecc.rs:507:18
[INFO] [stdout]     |
[INFO] [stdout] 507 |         for i in 0..256 {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/p256_field.rs:74:18
[INFO] [stdout]    |
[INFO] [stdout] 74 |         for i in 0..8 {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/p256_field.rs:87:18
[INFO] [stdout]    |
[INFO] [stdout] 87 |         for i in 0..8 {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/p256_field.rs:103:15
[INFO] [stdout]     |
[INFO] [stdout] 103 |         num_v[32 - v.len()..32].copy_from_slice(&v[..]);
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/util.rs:63:15
[INFO] [stdout]    |
[INFO] [stdout] 63 |     for _i in 1..bound {
[INFO] [stdout]    |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/util.rs:81:37
[INFO] [stdout]    |
[INFO] [stdout] 81 |         h_a.extend_from_slice(&last[0..(klen % 32)]);
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'flt2dec': internal routines only exposed for testing
[INFO] [stdout]   --> src/montgomery.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |     use core::num::flt2dec::Sign;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: add `#![feature(flt2dec)]` to the crate attributes to enable
[INFO] [stdout]    = note: this compiler was built on 2024-02-18; consider upgrading it if it is out of date
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'flt2dec': internal routines only exposed for testing
[INFO] [stdout]   --> src/montgomery.rs:98:13
[INFO] [stdout]    |
[INFO] [stdout] 98 |             Sign::Plus,
[INFO] [stdout]    |             ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: add `#![feature(flt2dec)]` to the crate attributes to enable
[INFO] [stdout]    = note: this compiler was built on 2024-02-18; consider upgrading it if it is out of date
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'flt2dec': internal routines only exposed for testing
[INFO] [stdout]    --> src/montgomery.rs:112:13
[INFO] [stdout]     |
[INFO] [stdout] 112 |             Sign::Plus,
[INFO] [stdout]     |             ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: add `#![feature(flt2dec)]` to the crate attributes to enable
[INFO] [stdout]     = note: this compiler was built on 2024-02-18; consider upgrading it if it is out of date
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `Plus` found for enum `core::num::flt2dec::Sign` in the current scope
[INFO] [stdout]   --> src/montgomery.rs:98:19
[INFO] [stdout]    |
[INFO] [stdout] 98 |             Sign::Plus,
[INFO] [stdout]    |                   ^^^^ variant or associated item not found in `Sign`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `Plus` found for enum `core::num::flt2dec::Sign` in the current scope
[INFO] [stdout]    --> src/montgomery.rs:112:19
[INFO] [stdout]     |
[INFO] [stdout] 112 |             Sign::Plus,
[INFO] [stdout]     |                   ^^^^ variant or associated item not found in `Sign`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `mod_add` found for struct `BigUint` in the current scope
[INFO] [stdout]    --> src/operation.rs:277:22
[INFO] [stdout]     |
[INFO] [stdout] 277 |         let ret1 = x.mod_add(&y, &modulus.to_biguint());
[INFO] [stdout]     |                      ^^^^^^^ method not found in `BigUint`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:32:8
[INFO] [stdout]     |
[INFO] [stdout] 32  |     fn mod_add(&self, other: &Self, modulus: &Self) -> Self;
[INFO] [stdout]     |        ------- the method is available for `BigUint` here
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]     |
[INFO] [stdout] 257 +     use crate::FeOperation;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `mod_sub` found for struct `BigUint` in the current scope
[INFO] [stdout]    --> src/operation.rs:294:22
[INFO] [stdout]     |
[INFO] [stdout] 294 |         let ret1 = x.mod_sub(&y, &modulus.to_biguint());
[INFO] [stdout]     |                      ^^^^^^^ method not found in `BigUint`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:38:8
[INFO] [stdout]     |
[INFO] [stdout] 38  |     fn mod_sub(&self, other: &Self, modulus: &Self) -> Self;
[INFO] [stdout]     |        ------- the method is available for `BigUint` here
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]     |
[INFO] [stdout] 257 +     use crate::FeOperation;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `mod_mul` found for struct `BigUint` in the current scope
[INFO] [stdout]    --> src/operation.rs:311:22
[INFO] [stdout]     |
[INFO] [stdout] 311 |         let ret1 = x.mod_mul(&y, &modulus.to_biguint());
[INFO] [stdout]     |                      ^^^^^^^ method not found in `BigUint`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:44:8
[INFO] [stdout]     |
[INFO] [stdout] 44  |     fn mod_mul(&self, other: &Self, modulus: &Self) -> Self;
[INFO] [stdout]     |        ------- the method is available for `BigUint` here
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]     |
[INFO] [stdout] 257 +     use crate::FeOperation;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `inv` found for struct `BigUint` in the current scope
[INFO] [stdout]    --> src/operation.rs:327:22
[INFO] [stdout]     |
[INFO] [stdout] 327 |         let ret1 = x.inv(&modulus.to_biguint());
[INFO] [stdout]     |                      ^^^ method not found in `BigUint`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:47:8
[INFO] [stdout]     |
[INFO] [stdout] 47  |     fn inv(&self, modulus: &Self) -> Self;
[INFO] [stdout]     |        --- the method is available for `BigUint` here
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]     |
[INFO] [stdout] 257 +     use crate::FeOperation;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 17 previous errors; 25 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0252, E0432, E0433, E0599, E0658.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0252`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `gm-sm2` (lib test) due to 18 previous errors; 25 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "0840002e2849dc4b4cb7a8a227c3c143514de3497be792526d57222d623e412d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0840002e2849dc4b4cb7a8a227c3c143514de3497be792526d57222d623e412d", kill_on_drop: false }`
[INFO] [stdout] 0840002e2849dc4b4cb7a8a227c3c143514de3497be792526d57222d623e412d
